package com.huike.review.mapper;

import com.huike.common.core.page.TableDataInfo;
import com.huike.review.pojo.Review;
import com.huike.review.vo.MybatisReviewVO;
import org.apache.ibatis.annotations.*;

import java.util.List;
import java.util.Map;

/**
 * Mybatis复习的Mapper层
 */
public interface MybatisReviewMapper {


    /**======================================================新增======================================================**/
    @Insert("insert into huike.mybatis_review(name,age,sex) values (#{name},#{age},#{sex})")
    void add1(@Param("name") String name,@Param("age") int age,@Param("sex") String sex);

    @Insert("insert into huike.mybatis_review(name,age,sex) values (#{review.name},#{review.age},#{review.sex})")
    void add2(@Param("review") Review review);

    /**======================================================删除======================================================**/
    @Delete("delete from huike.mybatis_review where id = #{id}")
    void deleteById(@Param("id") int id);

    /**======================================================修改======================================================**/
    @Update("update huike.mybatis_review set name = #{review.name},age = #{review.age},sex = #{review.sex} where id = #{review.id}")
    void update(@Param("review") Review review);

    /**======================================================简单查询===================================================**/
    @Select("select * from huike.mybatis_review where id = #{id}")
    Review selectById(@Param("id") Long id);

    /**
     * 分页查询总数量
     * @return
     */
    @Select("select count(*) from huike.mybatis_review;")
    int selectTotalCount();

    /**
     * 分页查询
     * @param begin
     * @param size
     * @return
     */
    @Select("select * from huike.mybatis_review limit #{begin},#{size}")
    List<Review> selectByPage(@Param("begin") int begin,@Param("size") int size);
}
